#include <stdio.h>
void merge(int x[],int left,int right)
{
    int m=right-left+1;
    int y[m];
    int i=0,lleft=left;
    int mid=(left+right)/2,k=mid+1;
    while(left<=mid&&k<=right)
    {
        if(x[left]<x[k])
            y[i++]=x[left++];
        else
            y[i++]=x[k++];
    }
    if(left>mid)
    {
        for(;k<=right;k++)
            y[i++]=x[k];
    }
    if(k>right)
    {
        for(;left<=mid;left++)
        {
            y[i++]=x[left];
        }
    }
    for(int j=0;j<m;j++)
    {
        x[lleft++]=y[j];
    }
}

void sort(int x[],int left,int right)
{
    if(left==right)
        return;
    if(left<right)
    {
        int mid=(left+right)/2;
        sort(x,left,mid);
        sort(x,mid+1,right);
        merge(x,left,right);
    }
}


int main(void) {
    int n;
    int x[10000];
    scanf("%d",&n);
    for(int i=0;i<n;i++)
    {
        scanf("%d",&x[i]);
    }
    sort(x,0,n-1);
    for(int i=0;i<n;i++)
    {
        printf("%d ",x[i]);
    }
    return 0;
}
